// ### 扫码登录
function uuid() {
  var s = [];
  var hexDigits = "0123456789abcdef";
  for (var i = 0; i < 36; i++) {
    s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
  }
  s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
  s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
  s[8] = s[13] = s[18] = s[23] = "-";

  var uuid = s.join("");
  return new Date().getTime() + "-" + uuid;
}
// 1 绑定点击事件
$(".saoma").click(function () {
  // console.log('click');
  // 2 事件处理函数中
  // 2.1 重置二维码
  // 留心：state位置不能变，qrcode实参的text键要用
  let state = uuid();
  $("#saomaImg").text(""); // 清空
  jQuery("#saomaImg").qrcode({
    render: "canvas",
    foreground: "#000",
    background: "#FFF",
    text: `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxed58e834201d0894&redirect_uri=http://kg.zhaodashen.cn/mt/web/qr/login.jsp&response_type=code&scope=snsapi_base&state=${state}&connect_redirect=1#wechat_redirect`,
  });
  // 2.2 监控

  // 创建 socket 对象
  const socket = io("http://39.107.231.173:3001");

  // 首次加入服务器监控队列
  // 参数：state  【必须】全球唯一的登录标识
  // 留心：state  是上面uuid()函数生成的
  socket.emit("join", state);

  // 监控服务器推送的登陆信息
  // 留心：超过2分钟不扫码登陆二维码就会过期
  // 过期推送数据：{meta:{state: 400, msg: "二维码已过期"},data:null}
  socket.on("islogin", (res) => {
    // console.log(res.meta);
    // console.log(res.data);
    if (res.meta.state !== 200) return;
    // 提示登陆成功
    cocoMessage.success(res.meta.msg, 3000);
    
    // h5存储
    sessionStorage.setItem("token", res.data.token);
    sessionStorage.setItem("uname", res.data.uname);

    // 重定向跳转

    setTimeout(() => {
      // location.back()
      location.href = "./index.html";
    }, 2000);
  });
});
